package com.sxj.corejava.code07_面向对象.抽象类与接口;

/**
 * @author 石小俊
 * 2024年07月17日 11:05
 */
public class Test03_接口特性 {

    public static void main(String[] args) {
        A a = new C();
        B b = new C();
        a.doSome();
        a.doOther();
        b.doOther();
        ((C) b).doSome();
        a.login();

        A a2 = new F();
        a2.doSome();
    }

}

interface A {
    void doSome();

    void doOther();

    default void login() {
        System.out.println("正在登录");
    }
}

interface B {
    void doOther();
}

class C implements A, B {

    @Override
    public void doSome() {
        System.out.println("C.doSome");
    }

    @Override
    public void doOther() {
        System.out.println("C.doOther");
    }
}

interface D extends A, B {

}

class E implements D {

    @Override
    public void doSome() {

    }

    @Override
    public void doOther() {

    }
}

class F implements A, B {

    @Override
    public void doSome() {
        System.out.println("F.doSome");
    }

    @Override
    public void doOther() {

    }
}
